package com.game.dao.impl;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.game.dao.IAccessTokenDao;
import com.game.pojo.AccessToken;
/**
 *  accessToken的dao接口实现类
 * @author Administrator
 *
 */
public class AccessTokenDao implements IAccessTokenDao {
	
	//注入持久化上下文
	@PersistenceContext(unitName="mms_persistence_guessnumber")
	EntityManager entityManager;
	
	/**
	 * 保存accessToken
	 */
	@Override
	public void saveAccessToken(AccessToken accessToken) {
		// TODO Auto-generated method stub
		//我想只保存一个token，所以是更新
		//先查处理
		AccessToken firstToken = entityManager.find(AccessToken.class, 1);
		
		if(firstToken == null){//如果数据库中没有，那么就保存一个新的
			entityManager.persist(accessToken);
		}else{//如果已经有了，更新token
			firstToken.setToken(accessToken.getToken());
			firstToken.setCreateTime(accessToken.getCreateTime());
			entityManager.merge(firstToken);
		}
		
	}
	
	/**
	 * 获取token，因为我只保存一个，所以只获取id为1的就行
	 */
	@Override
	public AccessToken getAccessToken() {
		return entityManager.find(AccessToken.class, 1);
	}

}
